package logindbmanager

// // QueryAreaList 查询全部区域数据
// func (this *LoginDBManager) QueryPlayerList(uid uint64) (pmds []*protoMsg.PlayerMD) {
// 	this.MysqlDB.Find(&pmds, "uid=?", uid)
// 	return
// }

// // QueryGroupPlayer 查询在某个区里面的 uid 创建角色信息
// func (this *LoginDBManager) QueryGroupPlayer(uid uint64, gid uint32) (pmds []*protoMsg.PlayerMD) {
// 	pmds = make([]*protoMsg.PlayerMD, 0, 10)
// 	if err := this.MysqlDB.Find(&pmds, "uid=? and gid=?", uid, gid).Error; err != nil {
// 		if err == gorm.ErrRecordNotFound {
// 			return nil
// 		}
// 		logger.Warn("LoginDBManager QueryGroupPlayer err ", err.Error())
// 		return
// 	}
// 	// fmt.Printf("%+v", pmds)
// 	return
// }

// // 选择某个特定角色进入
// func (this *LoginDBManager) ChosePlayer(pid uint64) (pmd *protoMsg.PlayerMD) {
// 	pmd = new(protoMsg.PlayerMD)
// 	if err := this.MysqlDB.Find(&pmd, "pid=? ", pid).Error; err != nil {
// 		if err == gorm.ErrRecordNotFound {
// 			return nil
// 		}
// 		logger.Warn("LoginDBManager QueryGroupPlayer err ", err.Error())
// 		return
// 	}
// 	// fmt.Printf("%+v", pmd)

// 	// lu := dbservice.GetLoginPlayerUtil(pmd.PID)
// 	// if !lu.RePlayerEx() {
// 	// 	buf, _ := pmd.Marshal()
// 	// 	lu.SetPlayer(buf)
// 	// }
// 	return
// }

// func (this *LoginDBManager) UpdatePlayerLoginTime(pid uint64, now time.Time) {
// 	pmd := new(protoMsg.PlayerMD)
// 	if err := this.MysqlDB.Model(pmd).Where("pid=?", pid).UpdateColumn("loginTime", now.Unix()).Error; err != nil {
// 		logger.Warn("LoginDBManager UpdatePlayerLoginTime err ", err.Error())
// 		return
// 	}
// }

// // CreatePlayer 在区里面创建一个玩家角色
// func (this *LoginDBManager) CreatePlayer(uid uint64, req *login.UserCreateNPlayerReq) (*protoMsg.PlayerMD, error) {
// 	userMd := this.GetUserMdByUid(uid)
// 	groupMd := this.GetGroupMDByCache(req.GroupID)
// 	if userMd == nil || groupMd == nil {
// 		return nil, fmt.Errorf("内部错误 找不到相关玩家或区服数据")
// 	}
// 	//如果设置了 禁止新用户注册的截止时间,则会生效; 注意datetime无法在pb生成 time.Time对象,这里需要转化时间字符串RFC3339 为标准时间
// 	if groupMd.EndRegTime != "" {
// 		rdUtil := dbservice.LoginPidUtil(userMd.UserID)
// 		device := rdUtil.GetDeviceInfo()
// 		isWhite := len(this.GetOneWhiteList(uid, userMd.OpenID, userMd.Channel, device.GetDeviceId())) > 0
// 		endRegTime, err := time.Parse(time.RFC3339, groupMd.EndRegTime)
// 		if err != nil {
// 			return nil, fmt.Errorf("内部错误 时间格式不匹配:%v err:%v", groupMd.EndRegTime, err)
// 		}
// 		//如果是白名单 解除限制 注册时间
// 		if !isWhite && userMd.CreatedAt.UnixMilli() >= endRegTime.UnixMilli() {
// 			return nil, gcommon.Err_Srv_Forbid_NewReg //fmt.Errorf("本区服已经禁止新用户创角")
// 		}
// 	}

// 	pmd := &protoMsg.PlayerMD{
// 		GID:      req.GroupID,
// 		UID:      uid,
// 		NickName: req.NickName,
// 		// ModelID:         req.ModelID,
// 		JobID: req.JobID,
// 		// Equip1MainColor: req.Equip1MainColor,
// 		// Equip1SubColor:  req.Equip1SubColor,
// 		Level: 1,
// 	}
// 	if err := this.MysqlDB.Create(pmd).Error; err != nil {
// 		// logger.Warn("LoginDBManager CreatePlayer err ", err)
// 		return nil, gcommon.Err_User_Name_Repeat
// 	}
// 	// lu := dbservice.GetLoginPlayerUtil(pmd.PID)
// 	// buf, _ := pmd.Marshal()
// 	// lu.SetPlayer(buf)
// 	return pmd, nil
// }

// // SetPlayer Lobby设置数据
// func (this *LoginDBManager) SetPlayerModeid(pid uint64, heroid, level int32) (pmd *protoMsg.PlayerMD) {
// 	pmd = new(protoMsg.PlayerMD)
// 	if err := this.MysqlDB.First(pmd, "pid=?", pid).Error; err != nil {
// 		if err == gorm.ErrRecordNotFound {
// 			return nil
// 		}
// 		logger.Warn("LoginDBManager QueryGroupPlayer err ", err.Error())
// 		return
// 	}
// 	pmd.JobID = uint32(heroid)
// 	pmd.Level = uint32(level)
// 	this.MysqlDB.Save(pmd)

// 	// lu := dbservice.GetLoginPlayerUtil(pmd.PID)
// 	// buf, _ := pmd.Marshal()
// 	// lu.SetPlayer(buf)
// 	return
// }

// func (this *LoginDBManager) SetPlayerLevel(pid uint64, level int32) (pmd *protoMsg.PlayerMD) {
// 	pmd = new(protoMsg.PlayerMD)
// 	if err := this.MysqlDB.First(pmd, "pid=?", pid).Error; err != nil {
// 		if err == gorm.ErrRecordNotFound {
// 			return nil
// 		}
// 		logger.Warn("LoginDBManager QueryGroupPlayer err ", err.Error())
// 		return
// 	}
// 	pmd.Level = uint32(level)
// 	this.MysqlDB.Save(pmd)
// 	// lu := dbservice.GetLoginPlayerUtil(pmd.PID)
// 	// buf, _ := pmd.Marshal()
// 	// lu.SetPlayer(buf)
// 	return
// }

// func (this *LoginDBManager) SetPlayerJob(pid uint64, job int32) (pmd *protoMsg.PlayerMD) {
// 	pmd = new(protoMsg.PlayerMD)
// 	if err := this.MysqlDB.First(pmd, "pid=?", pid).Error; err != nil {
// 		if err == gorm.ErrRecordNotFound {
// 			return nil
// 		}
// 		logger.Warn("LoginDBManager QueryGroupPlayer err ", err.Error())
// 		return
// 	}
// 	pmd.JobID = uint32(job)
// 	this.MysqlDB.Save(pmd)
// 	return
// }
